Counterexample Guided Abstraction Refinement Via Program Execution
نویسندگان
چکیده
Software model checking tools based on a Counterexample Guided Abstraction Refinement (CEGAR) framework have attained considerable success in limited domains. However, scaling these approaches to larger programs with more complex data structures and initialization behavior has proven difficult. Explicit-state model checkers making use of states and operational semantics closely related to actual program execution have dealt with complex data types and semantic issues successfully, but do not deal as well with very large state spaces. This paper presents an approach to software model checking that actually executes the program in order to drive abstraction-refinement. The inputs required for the execution are derived from the abstract model. Driving the abstractionrefinement loop with a combination of constant-sized (and thus scalable) Boolean satisfiability-based simulation and actual program execution extends abstractionbased software model checking to a much wider array of programs than current tools can handle, in the case of programs containing errors. Experimental results from applying the CRunner tool, which implements execution-based refinement, to faulty and correct C programs demonstrate the practical utility of the idea.
منابع مشابه
Counterexample Guided Abstraction Refinement for Stability Analysis
In this paper, we present a counterexample guided abstraction refinement (Cegar) algorithm for stability analysis of polyhedral hybrid systems. Our results build upon a quantitative predicate abstraction and model-checking algorithm for stability analysis, which returns a counterexample indicating a potential reason for instability. The main contributions of this paper include the validation of...
متن کاملAbstraction Refinement for Termination
ion Refinement for Termination⋆ Byron Cook, Andreas Podelski, and Andrey Rybalchenko 1 Microsoft Research, Cambridge 2 Max-Planck-Institut für Informatik, Saarbrücken Abstract. Abstraction can often lead to spurious counterexamples. Counterexample-guided abstraction refinement is a method of strengthening abstractions based on the analysis of these spurious counterexamples. For invariance prope...
متن کاملAbstract Counterexample-based Refinement for Relational Domains
Counterexample-based Refinement for Relational Domains Tel Aviv University, School of Computer Science, TR-2006-1-35712 R. Manevich, J. Field, T. A. Henzinger, G. Ramalingam, and M. Sagiv 1 Tel Aviv University, {rumster,msagiv}@tau.ac.il 2 IBM T.J. Watson Research Center, {rama,jfield}@watson.ibm.com 3 EPFL, [email protected] Abstract. Counterexample-guided abstraction refinement (CEGAR) is a powerfu...
متن کاملAbstract Counterexample-Based Refinement for Powerset Domains
Counterexample-based Refinement for Powerset Domains R. Manevich, J. Field , T. A. Henzinger, G. Ramalingam, and M. Sagiv 1 Tel Aviv University, {rumster,msagiv}@tau.ac.il 2 IBM T.J. Watson Research Center, [email protected] 3 EPFL, [email protected] 4 Microsoft Research India, [email protected] Abstract. Counterexample-guided abstraction refinement (CEGAR) is a powerful technique to scale auto...
متن کاملFirst-Order Logic Theorem Proving via Counterexample-Guided Abstraction Refinement
Counterexample-guided abstraction refinement is a well-established technique in verification. In this paper we instantiate the idea for firstorder logic theorem proving. Given a clause set N we propose its abstraction into a clause set N ′ belonging to a decidable first-order fragment. The abstraction preserves satisfiability: if N ′ is satisfiable, so is N . A refutation in N ′ can then either...
متن کامل